package bean;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.component.FacesComponent;
import javax.persistence.EntityManager;

import modelo.Cidade;
import modelo.Contato;
import util.JPAUtil;
import dao.ContatoDAO;

@ManagedBean
@RequestScoped
public class ContatoBean {
	@ManagedProperty(value="#{requestScope.entityManager}")
    private EntityManager manager;
    private JPAUtil jPAUtil = new JPAUtil();
    private List<Contato> contatos = new ArrayList<Contato>();
    private Contato contato= new Contato();
    @ManagedProperty(value = "#{param.idContato}")
    private int idContato;
    
    @PostConstruct
    public void iniciar() {
        
       listar();
        
    }
    
    public void excluir() {
    	 System.out.println(idContato);
    	 ContatoDAO contatoDAO = new ContatoDAO(manager);
    	 this.contato = contatoDAO.consultar(this.contato.getId());
    	 contatoDAO.excluir(contato);
    }

	public EntityManager getManager() {
		return manager;
	}

	public void setManager(EntityManager manager) {
		this.manager = manager;
	}

	public List<Contato> getContatos() {
		return contatos;
	}

	public void setContatos(List<Contato> contatos) {
		this.contatos = contatos;
	}

	public Contato getContato() {
		return contato;
	}

	public void setContato(Contato contato) {
		this.contato = contato;
	}
	
	public void listar() {
		
		ContatoDAO contatoDAO = new ContatoDAO(manager);
        contatos = contatoDAO.listar();
	}

	public int getIdContato() {
		return idContato;
	}

	public void setIdContato(int idContato) {
		this.idContato = idContato;
	}
    
    
 
   
       
}
